package com.itbour.service.trade;

import java.util.List;
import java.util.Map;

import com.itbour.com.page.Page;
import com.itbour.dto.trade.ExpTrackInfoDto;
import com.itbour.dto.trade.ExpressComInfoDto;
import com.itbour.dto.trade.OrderInfoDto;
import com.itbour.dto.trade.OrderDetailInfoDto;
import com.itbour.dto.trade.PartnerInfoDto;
import com.itbour.dto.trade.StateHisInfoDto;


/**
* 订单
* 
* copyright   itbour team 2017
* @author     xc
*
*/
public interface OrdersService {
	
	/**
	 * @param countKey
	 *            查询该表所有记录行的SQL语句ID
	 * @param sqlKey
	 *            需要查询记录的SQL语句ID
	 * @param param
	 *            传递给查询语句的参数
	 * @param pageNo
	 *            需要查询的实际页
	 * @param pageSize
	 *            每页记录行数
	 * @return page对象
	 */
	public Page ordersPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<OrderInfoDto> selectOrdersInfo(Map<String,Object> param);
	public void addOrder(OrderInfoDto orderInfo);
	public void delOrder(String delIds);
	public void updOrder(Map<String,Object> param);
	
	/**
	 * 订单明细
	 */
	public Page detailsPgQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	public List<OrderDetailInfoDto> selectDetailsInfo(Map<String,Object> param);
	public void addDetail(OrderDetailInfoDto detailInfo);
	public void delDetail(String delIds);
	public void updDetail(Map<String,Object> param);
	
	// 检索合作方
	public List<PartnerInfoDto> selectPartnerInfo(Map<String,Object> param);
	
	// 订单状态历史
	public void addStateHis(StateHisInfoDto stateHisInfo);
	
	// 用户通知
	public void addNotifyUserRecd(Map<String,Object> param);
	
	//查看快递分类
	public List<ExpressComInfoDto> getExpComInfo(Map<String, Object> parm);
	public Page getLogisticsInfo(Map<String, Object> parm,Integer pageNum,Integer pageSize);//获取本地快递信息
	public boolean updExpInfoData(Map<String, Object> parm);//更新物流data
	public List<ExpTrackInfoDto> getExpTrackInfo(Map<String, Object> parm);//获取本地单个物流信息
	public void insertExpTrackInfo(Map<String, Object> parm);
	
}
